pub fn odd_fibnacci_sum(threshold: u32) -> u32 {
    (0..).scan((0, 1), |(f0, f1), _| {
        (*f0, *f1) = (*f1, *f0 + *f1);
        Some(*f0).filter(|&x| (x < threshold))
    }).filter(|x| {
        x % 2 == 1
    }).sum()
}
